<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script type="text/javascript">
   let arr1=[1,2];
   //正序for循环
   for (let i = 0; i <arr1.length; i++) {
       console.log(arr1[i])//获取arr1中的每个元素
   }
   //倒序for循环
   for (let i = arr1.length - 1; i >= 0; i--) {
       //反向for循环.倒序for循环
       console.log("====反向for====>",arr1[i])
   }
   //循环从0开始的索引
   for (const index in arr1) {
       console.log("=====直接for循环从0开始的索引索引======>",arr1[index])
   }
   //循环从1开始的索引
   for (const number of arr1) {
       console.log(number) //注意这个number是从1开始的索引
       console.log(arr1[number-1])
   }
   //这个value 是值，index是从0开始的索引，arr是arr1这个数组本身
   arr1.forEach((value,index,arr)=>{
       console.log(value,index,arr)
   })
   arr1.forEach(value => {//直接遍历值
       console.log("=====value=======>",value);
   });
   let arr2 = arr1.map(value => {
       console.log("======返回一个新数组=======>",value); // 这里只是为了演示遍历，实际上map会返回一个新数组。
       return value+1
   });
   console.log("返回一个新数组,给数组里每个数据加1",arr2)
   let arr3=arr1.filter(value=>value>1)
   console.log("====>过滤出来值大于1的值的新数组",arr3)


   //两个参数一个preValue是上一次调用回调时的返回值，或者初始值 init
   // 一个currentValue是当前正在处理的数组元素
   // index ：当前正在处理的数组元素的索引，若提供 init 值（最下面那个值），则索引为0，否则索引为1；
   //arr是原数组arr1  ;
   let a=arr1.reduce((preValue,currentValue,index,arr)=>{
       console.log("========preValue==============>",preValue)
       console.log("========currentValue==============>",currentValue)
       console.log("========index==============>",index)
       console.log("========arr)==============>",arr)
        return preValue+currentValue    //前一个值加上当前值，最后获得一个数是整个数组相加
   },0)// init ：初始值,可以没有


   console.log("=======前一个值加上当前值，最后获得一个数是整个数组相加的结果=========>",a)
   let a1=arr1.reduce((preValue,currentValue,index,arr)=>{
       console.log("========preValue1==============>",preValue)
       console.log("========currentValue1==============>",currentValue)
       console.log("========index1==============>",index)
       console.log("========arr1==============>",arr)
       return preValue+currentValue    //前一个值加上当前值，最后获得一个数是整个数组相加
   })// 此时没有init ：初始值,可以没有
   console.log("=======前一个值加上当前值，最后获得一个数是整个数组相加的结果1=========>",a1)







</script>
</body>
</html>